Precision calibration method of attitude measuring system

ABSTRACT

A precision calibration method of attitude measuring systems is provided. The precision calibration method of attitude measuring systems includes the following steps: calibrating a zero-deviation, a scale coefficient, and a non-orthogonal angle between axes of an accelerometer to the attitude measuring system via an ellipsoid fitting model (S 1 ); compensating original data of the accelerometer using a calculated ellipsoid parameter (S 2 ); calibrating an electronic compass via the ellipsoid fitting model according to compensated accelerometer data (S 3 ); compensating original electronic compass data by the calculated ellipsoid parameter (S 4 ); calculating an attitude according to the compensated data of the accelerometer and compensated data of the electronic compass (S 5 ). The above steps of the method have a reliable calibration result and a high precision with a less time consumption of calibration.

TECHNICAL FIELD

The present invention relates to the field of measuring device attitude,particularly to a precision calibration method of attitude measuringsystems.

BACKGROUND

The attitude measuring systems have a wide variety of applications inmany industrial fields. The measuring systems are a set of apparatusesfor measuring spatial attitudes of an object (i.e. pitch angle,transverse roll angle, and course angle). In recent years, with theever-decreasing cost of hardware, various types of attitude measuringsystems have begun to enter the daily life of huge numbers of families.Taking mobile phones as an example, most smart phones currently on themarket have built-in accelerometers, gyroscopes, and electroniccompasses, which constitute a simple and low-cost attitude measuringsystem. However, currently, due to cost limitations, the built-insensors of most attitude measuring systems have low accuracy andstability, thereby causing non-ideal measuring results of the entireattitude measuring system. Undoubtedly, calibrating the sensor withoutchanging the hardware of the system is a very practical manner toimprove the measurement accuracy of the whole system. Thus, studying thelow-cost calibration method of attitude measuring systems is veryworthwhile in practice.

The calibration and standardization of a sensor is always an importantsubject in the technical field of sensor technology. A large number ofrelevant researches have been carried out by domestic and foreignscholars with respect to the calibration solution of attitude measuringsystems. A multi-position calibration method of MEMS inertial navigationusing a rate turntable was studied by Wei Sun, Xinru Fu, et. al. Anelectronic compass calibration solution based on the Fourier transformunder the condition of angle reference was studied by the scholarsBinliang Ma, et al. An on-line calibration technology for the attitudemeasuring system based on the neural network and the UKF (UnscentedKalman Filtering) was studied by the scholars Wei Qin, et al.

Currently, studies are mainly focused on calibrating the attitudemeasuring system using calibration instruments such as turntable and thelike. However, the specialized instruments for calibration are expensiveand most of them are complicated to operate, thereby resulting in highproduction cost. On the other hand, in practice, the performance of thesensor in the system is continuously changing as the surroundingenvironment changes and the sensor itself ages. Thus, in practice, highprecision is hard to achieve if merely relying on the calibration thatwas done on the sensor when the sensor left the factory. Additionally,in some current studies of calibration without instruments, either thecalibration solution is too simple to be beneficial for the improvementof the actual measurement accuracy, or that the calibration solution istoo complicated and requires the user to have high technical skills.

SUMMARY OF THE INVENTION

With regard to the drawbacks of the current attitude calibration, thepresent invention provides a precision calibration method of attitudemeasuring systems, which has a reliable calibration result, highaccuracy, and less time consumption.

To achieve the above object, the technical solutions adopted by thepresent invention are as below.

A precision calibration method of attitude measuring systems isprovided. The precision calibration method of attitude measuring systemincludes the following steps:

calibrating a zero-deviation, a scale coefficient, and a non-orthogonalangle between axes of an accelerometer to the attitude measuring systemvia an ellipsoid fitting model;

compensating original data of the accelerometer using a calculatedellipsoid parameter;

calibrating an electronic compass via the ellipsoid fitting modelaccording to compensated accelerometer data;

compensating original electronic compass data by the calculatedellipsoid parameter;

calculating an attitude according to the compensated data of theaccelerometer and compensated data of the electronic compass.

According to one aspect of the present invention, before the step ofcalibrating the zero-deviation, the scale coefficient, and thenon-orthogonal angle between axes of the accelerometer of the attitudemeasuring system via the ellipsoid fitting model is conducted, thefollowing step is conducted: conducting a horizontal calibration on theaccelerometer to eliminate an original zero-deviation of theaccelerometer.

According to one aspect of the present invention, after the step ofconducting the horizontal calibration on the accelerometer to eliminatethe original zero-deviation of the accelerometer is conducted, thefollowing step is conducted: collecting three-axis data of theaccelerometer in a period of time, wherein the three-axis data isrecorded as [A_(x0), A_(y0), A_(z0)]^(T), and the zero-deviation isrecorded as B=[A_(x0), A_(y0), A_(z0)]^(T)−[0 0 g]^(T).

According to one aspect of the present invention, the step ofcalibrating the zero-deviation, the scale coefficient, and thenon-orthogonal angle between axes of the accelerometer of the attitudemeasuring system via the ellipsoid fitting model further includes thefollowing steps:

setting a fitting ellipsoid parameter vector recorded as α=[a b c d e fk l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using newly collected accelerometerdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to an actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{chol}\mspace{11mu} {( \frac{A}{( {{B^{T}{AB}} - n} )} ).}}}$

According to one aspect of the present invention, after the step ofcalibrating the zero-deviation, the scale coefficient, and thenon-orthogonal angle between axes of the accelerometer of the attitudemeasuring system via the ellipsoid fitting model is conducted, thefollowing step is conducted: after new accelerometer data is collected,correcting newly collected data using the ellipsoid parameter.

According to one aspect of the present invention, the step ofcalibrating the electronic compass via the ellipsoid fitting modelaccording to the compensated accelerometer data further includes thefollowing steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an anti-overflow treatment operation on collecteddata, wherein the three-axis data is recorded as [H_(x0) H_(y0)H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)]^(T) collected from the electronic compass to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), whereinS1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{chol}\mspace{11mu} {( \frac{A}{( {{B^{T}{AB}} - n} )} ).}}}$

According to one aspect of the present invention, after the step ofcalibrating the electronic compass according to the compensatedaccelerometer data via the ellipsoid fitting model, the following stepis conducted: after new electronic compass data is collected, correctingthe newly collected data using the ellipsoid parameter.

According to one aspect of the present invention, after conducting thestep of calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data, thefollowing step is conducted: updating the ellipsoid parameter by theelectronic compass using measured data during a measuring process, so asto enhance a precision of the ellipsoid parameter.

According to one aspect of the present invention, before the step ofupdating the ellipsoid parameter by the electronic compass using themeasured data during the measuring process so as to enhance theprecision of the ellipsoid parameter is conducted, the following step isconducted: removing a hopped calculation point from the collectedelectronic compass data by means of a statistical rule.

The advantages of the present invention are as below. The method ofellipsoid fitting is used to calibrate the electronic compass and theacceleration in the attitude measuring system. Thus, the problems ofaccidental output abnormality of the sensor and hops are effectivelyavoided, since the reliability of calibration result is effectivelyensured. The recursive processing is conducted in the ellipsoid fittingalgorithm such that the internal CPU of the attitude measuring systemdoes not need to store the data of all points previously collected bythe sensor during the data processing. Only the matrix previouslyobtained by recurrence and the current measurement result are requiredto be stored. Therefore, under the same hardware environment, theellipsoid fitting method can handle more values, thereby improving theprecision of the ellipsoid fitting. Correspondingly, when theconventional fitting algorithm is used, in order to ensure that thememory stack does not overflow during the operation process, the CPU canonly conduct the fitting operation based on a few sample points. As aresult, the fitting precision is limited. The present invention improveda large-scale of matrix operation in the ellipsoid fitting algorithm andoptimized the calculation procedure, such that the calculation of theellipsoid fitting is reduced by over 90 percent. Taking the MATLABprogram as an example, based on the conventional algorithm, operatingthe fitting algorithm one time would consume 563 ms. In contrast, theimproved algorithm only consumes 14 ms. The strategy in which themeasured data is used for calibrating is employed, such that thefault-tolerant capability of the calibration is improved. Thus, therequirement of initial calibration is reduced, and the operationcomplexity for the user is simplified.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to clearly illustrate the technical solutions of theembodiments of the present invention, the drawings used in theembodiments are briefly introduced as follows. Obviously, the drawingsdescribed below are only some embodiments of the present invention. Fora person of ordinary skill in the art, other drawings can also bederived without making creative efforts.

FIG. 1 is a flow chart of embodiment 1 of the precision calibrationmethod of attitude measuring system of the present invention;

FIG. 2 is a flow chart of embodiment 2 of the precision calibrationmethod of attitude measuring system of the present invention;

FIG. 3 is a flow chart of embodiment 3 of the precision calibrationmethod of attitude measuring system of the present invention;

FIG. 4 is a flow chart of embodiment 4 of the precision calibrationmethod of attitude measuring system of the present invention;

FIG. 5 is a flow chart of embodiment 5 of the precision calibrationmethod of attitude measuring system of the present invention;

FIG. 6 is a flow chart of embodiment 6 of the precision calibrationmethod of attitude measuring system of the present invention;

FIG. 7 is a flow chart embodiment 7 of the precision calibration methodof attitude measuring system of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, technical solutions of embodiments of the present inventionare clearly and completely described with reference to drawings ofembodiments of the present invention. Obviously, the describedembodiments are only some of the embodiments of the present inventionrather than all of them. Based on the embodiments of the presentinvention, all other embodiments derived by a person of ordinary skillin the art without making creative efforts fall within the protectivescope of the present invention.

Embodiment 1

As shown in FIG. 1, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the Step S1: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further comprises thefollowing steps:

setting a fitting ellipsoid parameter vector recorded as α=[a b c d e fk l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using the newly collected accelerometerdata D_(k), wherein

S _(k) =S _(k-1) +D _(k) ^(T) D _(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{chol}\mspace{11mu} {( \frac{A}{( {{B^{T}{AB}} - n} )} ).}}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S2: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S3: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S3: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on collecteddata, wherein the three-axis data is recorded as [H_(x0) H_(y0)H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)]^(T) collected from the electronic compass to aten-dimensional column vector D1, calculating a matrix S1, wherein theD1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculating, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S4: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S5: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Embodiment 2

As shown in FIG. 2, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: conducting a horizontal calibration on the accelerometer toeliminate an original zero-deviation of the accelerometer;

adjusting the attitude measurement apparatus to a horizontal position bya level bubble, and conducting a horizontal calibration on theaccelerometer to eliminate the zero-deviation of the accelerometer.

Step S2: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the step S2: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further includes thefollowing steps:

setting a fitting ellipsoid parameter vector recorded as α=[a b c d e fk l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer doesnot reach n yet, updating a matrix S using the newly collectedaccelerometer data D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, setting an iteration precision ε=1e⁻⁶ isset;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S3: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S4: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S4: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on thecollected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)]^(T) collected from the electronic compass to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S5: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S6: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Embodiment 3

As shown in FIG. 3, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: conducting a horizontal calibration on the accelerometer toeliminate an original zero-deviation of the accelerometer;

adjusting the attitude measurement apparatus to a horizontal position bya level bubble, and conducting a horizontal calibration on theaccelerometer to eliminate the zero-deviation of the accelerometer.

Step S2: collecting three-axis data of the accelerometer in a period oftime, wherein the three-axis data is recorded as [A_(x0), A_(y0),A_(z0)]^(T), the zero-deviation is recorded as B=[A_(x0), A_(y0),A_(z0)]^(T)−[0 0 g]^(T).

Step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further comprises thefollowing steps:

setting a fitting ellipsoid parameter vector recorded as α=[a b c d e fk l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using the newly collected accelerometerdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculated themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S4: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S5: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S5: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on thecollected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)]^(T) collected from the electronic compass to aten-dimensional column vector D1, calculating a matrix S1, wherein theD1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)), otherwise k=k+1, and continues thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S6: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S7: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Embodiment 4

As shown in FIG. 4, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: conducting a horizontal calibration on the accelerometer toeliminate an original zero-deviation of the accelerometer;

adjusting the attitude measurement apparatus to a horizontal position bya level bubble, and conducting a horizontal calibration on theaccelerometer to eliminate the zero-deviation of the accelerometer.

Step S2: collecting three-axis data of the accelerometer in a period oftime, wherein the three-axis data is recorded as [A_(x0), A_(y0),A_(z0)]^(T), the zero-deviation is recorded as B=[A_(x0), A_(y0),A_(z0)]^(T)−[0 0 g]^(T).

Step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further comprises thefollowing steps:

setting a fitting ellipsoid parameter vector recorded as α=[a b c d e fk l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using the newly collected accelerometerdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S4: after the new accelerometer data is collected, correcting thenewly collected data by the ellipsoid parameter.

Step S5: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S6: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S6: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on thecollected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)]^(T) collected from the electronic compass to aten-dimensional column vector D1, calculating a matrix S1, wherein theD1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

D _(k) =[D ₁ D ₂]

$D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S7: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S8: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Embodiment 5

As shown in FIG. 5, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: conducting a horizontal calibration on the accelerometer toeliminate an original zero-deviation of the accelerometer;

adjusting the attitude measurement apparatus to a horizontal position bya level bubble, and conducting a horizontal calibration on theaccelerometer to eliminate the zero-deviation of the accelerometer.

Step S2: collecting three-axis data of the accelerometer in a period oftime, wherein the three-axis data is recorded as [A_(x0), A_(y0),A_(z0)]^(T), the zero-deviation is recorded as B=[A_(x0), A_(y0),A_(z0)]^(T)−[0 0 g]^(T).

Step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further comprises thefollowing steps:

setting a fitting ellipsoid parameter vector recorded as α=[a b c d e fk l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using the newly collected accelerometerdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k) ⁻¹|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S4: after the new accelerometer data is collected, correcting thenewly collected data by the ellipsoid parameter.

Step S5: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S6: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S6: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on thecollected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)] collected from the electronic compass to aten-dimensional column vector D1, calculating a matrix S1, wherein theD1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition for A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S7: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S8: after the new electronic compass data is collected, correctingthe newly collected data by the ellipsoid parameter.

Step S9: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Embodiment 6

As shown in FIG. 6, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: conducting a horizontal calibration on the accelerometer toeliminate an original zero-deviation of the accelerometer;

adjusting the attitude measurement apparatus to a horizontal position bya level bubble, and conducting a horizontal calibration on theaccelerometer to eliminate the zero-deviation of the accelerometer.

Step S2: collecting three-axis data of the accelerometer in a period oftime, wherein the three-axis data is recorded as [A_(x0), A_(y0),A_(z0)]^(T), the zero-deviation is recorded as B=[A_(x0), A_(y0),A_(z0)]^(T)−[0 0 g]^(T).

Step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further comprises thefollowing steps: setting a fitting ellipsoid parameter vector recordedas α=[a b c d e f k l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using the newly collected accelerometerdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

D _(k) =[D ₁ D ₂]

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \delta_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues don't need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration and to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S4: after the new accelerometer data is collected, correcting thenewly collected data by the ellipsoid parameter.

Step S5: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S6: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S6: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on thecollected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z1)]^(T) collected from the electronic compass to aten-dimensional column vector D1, calculating a matrix S1, wherein theD1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \sigma_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration and to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S7: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S8: after the new electronic compass data is collected, correctingthe newly collected data by the ellipsoid parameter.

Step S9: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Step S10: updating the ellipsoid parameter using the measured dateduring the measuring process of the electronic compass, so as to enhancethe accuracy of the ellipsoid parameter.

Embodiment 7

As shown in FIG. 7, a precision calibration method of attitude measuringsystem is provided. The precision calibration method of attitudemeasuring system includes the following steps:

Step S1: conducting a horizontal calibration on the accelerometer toeliminate an original zero-deviation of the accelerometer;

adjusting the attitude measurement apparatus to a horizontal position bya level bubble, and conducting a horizontal calibration on theaccelerometer to eliminate the zero-deviation of the accelerometer.

Step S2: collecting three-axis data of the accelerometer in a period oftime, wherein the three-axis data is recorded as [A_(x0), A_(y0),A_(z0)]^(T), the zero-deviation is recorded as B=[A_(x0), A_(y0),A_(z0)]^(T)−[0 0 g]^(T).

Step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model;

In the step S3: calibrating a zero-deviation, a scale coefficient, and anon-orthogonal angle between axes of an accelerometer of the attitudemeasuring system via an ellipsoid fitting model further comprises thefollowing steps: setting a fitting ellipsoid parameter vector recordedas α=[a b c d e f k l m n]^(T);

setting a calibration iteration number as n, expanding a first value[A_(x0), A_(y0), A_(z0)]^(T) collected from the accelerometer to aten-dimensional column vector D1, and calculating a matrix S1, whereinthe D1 is recorded as D1=[A_(x1) ² A_(y1) ² A_(z1) ² A_(x1)A_(y1)A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1) A_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the accelerometer donot reach n, updating a matrix S using the newly collected accelerometerdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing an ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \sigma_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, and an iteration precision ε=1e⁻⁶ istaken;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S4: after the new accelerometer data is collected, correcting thenewly collected data by the ellipsoid parameter.

Step S5: compensating the original accelerometer data by the calculatedellipsoid parameter.

Step S6: calibrating the electronic compass via the ellipsoid fittingmodel according to the compensated accelerometer data;

In the Step S6: calibrating the electronic compass via the ellipsoidfitting model according to the compensated accelerometer data furthercomprises the following steps:

setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T);

collecting the three-axis data of the electronic compass in a period oftime, and conducting an operation anti-overflow treatment on thecollected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T);

setting the calibration iteration number as n, expanding a first value[H_(x1), H_(y1), H_(z)] collected from the electronic compass to aten-dimensional column vector D1, calculating a matrix S1, wherein theD1 is recorded as D1=[H_(x1) ² H_(y1) ² H_(z1) ² H_(x1)H_(y1)H_(x1)H_(z1) H_(y1)H_(z1) H_(x1) H_(y1) H_(z1) 1]^(T), S1=D1^(T)D1;

if times of collection of the three-axis data of the electronic compassdo not reach n, updating the matrix S using the newly collected compassdata D_(k), wherein S_(k)=S_(k-1)+D_(k) ^(T)D_(k);

after the matrix S is calculated, introducing the ellipsoid restrictionmatrix C and splitting the matrix S into blocks at the same time,wherein

${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7)

splitting the matrix S into blocks:

$D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$

calculating the ellipsoid fitting vector by the following equations:

C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁

α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁;

after α₁ is calculated, calculating α₂ by the above equations, such thateach parameter of the ellipsoid fitting vector is calculated, whereinα=[α₁ α₂]=[a b c d e f k l m n]^(T);

furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations:

$A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \sigma_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$

In the above equations, α₁ is an eigenvector corresponding to themaximum eigenvalue of the matrix C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)). Thus, in thepractical calculation, not all eigenvalues and eigenvectors need to becalculated. Even the eigenvalues do not need to be calculated. Only apower-method or an inverse power-method is needed to calculate themaximum eigenvector. The inverse power-method is taken as an example:

Providing that A=(C₁ ⁻¹(S₁−S₂S₄ ⁻¹S₂ ^(T)))⁻¹, an initial iterationvector u=[1 1 1]^(T) is taken, an iteration precision ε=1e⁻⁶ is set;

conducting LU decomposition on A, namely, A=LU;

solving the linear equations set:

Ly ^((k)) =u ^((k-1)) , Uv ^((k)) =y ^((k))

m _(k)=max(v ^((k))), u ^((k)) =v ^((k)) /m _(k)

if |m_(k)−m_(k-1)|<ε, jumping out of the iteration to stop thecalculation, wherein α₁=u^((k)); otherwise, k=k+1, and continuing thecalculation.

Generally speaking, with regard to ε=1e⁻⁶, less than 5 iterations of theiterative calculation can achieve this precision.

Step S7: compensating the original data of the electronic compass by thecalculated ellipsoid parameter.

Step S8: after the new electronic compass data is collected, correctingthe newly collected data by the ellipsoid parameter.

Step S9: calculating the attitude according to the compensatedaccelerometer data and the compensated electronic compass data.

Step S10: removing the hopped calculation point in the collectedelectronic compass by means of a statistical rule.

Step S11: updating the ellipsoid parameter using the measured dateduring the measuring process of the electronic compass, so as to enhancethe accuracy of the ellipsoid parameter.

The advantages of the present invention are as below. The method ofellipsoid fitting is used to calibrate the electronic compass and theacceleration in the attitude measuring system. Thus, the problems ofaccidental output abnormality of the sensor and hops are effectivelyavoided, such that the reliability of calibration result is effectivelyensured. The recursive processing is conducted in the ellipsoid fittingalgorithm such that the internal CPU of the attitude measuring systemdoes not need to store the data of all points previously collected bythe sensor during the data processing. Only the matrix previouslyobtained by recurrence and the current measurement result are requiredto be stored. Therefore, under the same hardware environment, theellipsoid fitting method can handle more values, thereby improving theprecision of the ellipsoid fitting. Correspondingly, when theconventional fitting algorithm is used, in order to ensure that thememory stack does not overflow during the operation process, the CPU canonly conduct the fitting operation based on a few sample points. As aresult, the fitting precision is limited. The present invention improveda large-scale of matrix operation in the ellipsoid fitting algorithm,and optimized the calculation procedure, such that the calculation ofthe ellipsoid fitting is reduced by over 90 percent. Taking the MATLABprogram as an example, based on the conventional algorithm, operatingthe fitting algorithm one time would consume 563 ms. In contrast, theimproved algorithm only consumes 14 ms. The strategy in which themeasured data is used for calibrating is employed, such that thefault-tolerant capability of the calibration is improved. Thus, therequirement of initial calibration is reduced, and the operationcomplexity for the user is simplified.

The above mentioned is only the specific embodiment of the presentinvention. However, the protective scope of the present invention is notlimited herein. The artisans familiar with the technical field can comeup with a variation or replacement readily within the disclosed scope,which are all supposed to fall within the protective scope of thepresent invention. Thus, the protection scope of the present inventionshall be subject to the protection scope of the appended claims.

What is claimed is:
 1. A precision calibration method of attitudemeasuring system wherein, the precision calibration method of attitudemeasuring system comprises the following steps: calibrating azero-deviation, a scale coefficient, and a non-orthogonal angle betweenaxes of an accelerometer of the attitude measuring system via anellipsoid fitting model; compensating original data of the accelerometerusing a calculated ellipsoid parameter; calibrating an electroniccompass via the ellipsoid fitting model according to compensatedaccelerometer data; compensating original electronic compass data by thecalculated ellipsoid parameter; and calculating an attitude according tothe compensated accelerometer data and compensated electronic compassdata.
 2. The precision calibration method of attitude measuring systemof claim 1 wherein, before the step of calibrating the zero-deviation,the scale coefficient, and the non-orthogonal angle between axes of theaccelerometer of the attitude measuring system via the ellipsoid fittingmodel is conducted, the following step is conducted: conducting ahorizontal calibration on the accelerometer to eliminate an originalzero-deviation of the accelerometer.
 3. The precision calibration methodof attitude measuring system of claim 2 wherein, after the step ofconducting the horizontal calibration on the accelerometer to eliminatethe original zero-deviation of the accelerometer is conducted, thefollowing step is conducted: collecting three-axis data of theaccelerometer in a period of time, wherein the three-axis data isrecorded as [A_(x0), A_(y0), A_(z0)]^(T), and the zero-deviation isrecorded as B=[A_(x0), A_(y0), A_(z0)]^(T)−[0 0 g]^(T).
 4. The precisioncalibration method of attitude measuring system of claim 3 wherein, thestep of calibrating the zero-deviation, the scale coefficient, and thenon-orthogonal angle between axes of the accelerometer of the attitudemeasuring system via the ellipsoid fitting model further comprises thefollowing steps: setting a fitting ellipsoid parameter vector recordedas α=[a b c d e f k l m n]^(T); setting a calibration iteration numberas n, expanding a first value [A_(x0), A_(y0), A_(z0)]^(T) collectedfrom the accelerometer to a ten-dimensional column vector D1, andcalculating a matrix S1, wherein the D1 is recorded as D1=[A_(x1) ²A_(y1) ² A_(z1) ² A_(x1)A_(y1) A_(x1)A_(z1) A_(y1)A_(z1) A_(x1) A_(y1)A_(z1) 1]^(T), S1=D1^(T)D1; if times of collection of the three-axisdata of the accelerometer does not reach n, updating a matrix S usingnewly collected accelerometer data D_(k), wherein S_(k)=S_(k-1)+D_(k)^(T)D_(k); after the matrix S is calculated, introducing an ellipsoidrestriction matrix C and splitting the matrix S into blocks at the sametime, wherein ${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7) splittingthe matrix S into blocks: $D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$ calculating the ellipsoid fitting vector by thefollowing equations:C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁; after α₁ is calculated, calculating α₂ by theabove equations, such that each parameter of the ellipsoid fittingvector is calculated, wherein α=[α₁ α₂]=[a b c d e f k l m n]^(T);furthermore, with reference to an actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations: $A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \sigma_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$5. The precision calibration method of attitude measuring system ofclaim 4 wherein, after the step of calibrating the zero-deviation, thescale coefficient, and the non-orthogonal angle between axes of theaccelerometer of the attitude measuring system via the ellipsoid fittingmodel is conducted, the following step is conducted: after newaccelerometer data is collected, correcting newly collected data usingthe ellipsoid parameter.
 6. The precision calibration method of attitudemeasuring system of claim 5 wherein, the step of calibrating theelectronic compass via the ellipsoid fitting model according to thecompensated accelerometer data further comprises the following steps:setting the fitting ellipsoid parameter vector recorded as α=[a b c d ef k l m n]^(T); collecting the three-axis data of the electronic compassin a period of time, and conducting an operation anti-overflow treatmenton collected data, wherein the three-axis data is recorded as [H_(x0)H_(y0) H_(z0)]^(T); setting the calibration iteration number as n,expanding a first value [H_(x1), H_(y1), H_(z1)]^(T) collected from theelectronic compass to a ten-dimensional column vector D1, andcalculating a matrix S1, wherein the D1 is recorded as D1=[H_(x1) ²H_(y1) ² H_(z1) ² H_(x1)H_(y1) H_(x1) H_(z1) H_(y1)H_(z1) H_(x1) H_(y1)H_(z1) 1]^(T), wherein S1=D1^(T)D1; if times of collection of thethree-axis data of the electronic compass do not reach n, updating thematrix S using the newly collected compass data D_(k), whereinS_(k)=S_(k-1)+D_(k) ^(T)D_(k); after the matrix S is calculated,introducing the ellipsoid restriction matrix C and splitting the matrixS into blocks at the same time, wherein ${C = \begin{bmatrix}C_{1} & C_{2} \\C_{3} & C_{4}\end{bmatrix}},{C_{1} = \begin{bmatrix}0 & 0 & 2 \\0 & {- 1} & 0 \\2 & 0 & 0\end{bmatrix}}$ C₂ = 0_(3 × 7), C₃ = 0_(7 × 3), C₄ = 0_(7 × 7) splittingthe matrix S into blocks: $D_{k} = \begin{bmatrix}D_{1} & D_{2}\end{bmatrix}$ $D_{1} = \begin{bmatrix}A_{x\; 1}^{2} & A_{y\; 1}^{2} & A_{z\; 1}^{2}\end{bmatrix}$ $D_{2} = \begin{bmatrix}{A_{x\; 1}A_{y\; 1}} & {A_{y\; 1}A_{z\; 1}} & {A_{x\; 1}A_{z\; 1}} & A_{x\; 1} & A_{y\; 1} & A_{z\; 1} & 1\end{bmatrix}$ $S = {{D_{k}^{T}D_{k}} = {\begin{bmatrix}{D_{1}^{T}D_{1}} & {D_{1}^{T}D_{2}} \\{D_{2}^{T}D_{1}} & {D_{2}^{T}D_{2}}\end{bmatrix} = \begin{bmatrix}S_{1} & S_{2} \\S_{3} & S_{4}\end{bmatrix}}}$ calculating the ellipsoid fitting vector by thefollowing equations:C ₁ ⁻¹(S ₁ −S ₂ S ₄ ⁻¹ S ₂ ^(T))α₁=λα₁α₂ =−S ₄ ⁻¹ S ₂ ^(T)α₁; after α₁ is calculated, calculating α₂ by theabove equations, such that each parameter of the ellipsoid fittingvector is calculated, wherein α=[α₁ α₂]=[a b c d e f k l m n]^(T);furthermore, with reference to the actual physical correspondence, thethree-axis scale coefficients k_(x),k_(y),k_(z), the non-orthogonalangles between axes δ_(xy),δ_(yz),δ_(xz), and the residualzero-deviations b_(x),b_(y),b_(z) can be calculated by the followingequations: $A = \begin{bmatrix}a & d & e \\d & b & f \\e & f & c\end{bmatrix}$ $B = {\begin{bmatrix}b_{x} \\b_{y} \\b_{z}\end{bmatrix} = {A^{- 1}\begin{bmatrix}k \\l \\m\end{bmatrix}}}$ $A_{e} = {\begin{bmatrix}k_{x} & \delta_{xy} & \delta_{xz} \\0 & k_{y} & \sigma_{yz} \\0 & 0 & k_{z}\end{bmatrix} = {{{chol}( \frac{A}{( {{B^{T}{AB}} - n} )} )}.}}$7. The precision calibration method of attitude measuring system ofclaim 6 wherein, after the step of calibrating the electronic compassaccording to the compensated accelerometer data via the ellipsoidfitting model is conducted, the following step is conducted: after newelectronic compass data is collected, correcting the newly collecteddata using the ellipsoid parameter.
 8. The precision calibration methodof attitude measuring system of claim 7 wherein, after the step ofcalculating the attitude according to the compensated accelerometer dataand the compensated electronic compass data is conducted, the followingstep is conducted: updating the ellipsoid parameter by the electroniccompass using measured data during a measuring process, so as to enhancea precision of the ellipsoid parameter.
 9. The precision calibrationmethod of attitude measuring system of claim 8 wherein, before the stepof updating the ellipsoid parameter by the electronic compass using themeasured data during the measuring process so as to enhance theprecision of the ellipsoid parameter is conducted, the following step isconducted: removing a hopped calculation point from the collectedelectronic compass data by means of a statistical rule.